using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using HistoriaLaboral.Helper;
using VB_ObjetosdeNegocio.BO;
using HistoriaLaboral.ABM;

namespace HistoriaLaboral.AltaPersonas
{
    public partial class frmCursosRealizados : AgenciaEmpleo.Plantillas.frmMoldeAltaSimple
    {

        #region Singleton

        static private frmCursosRealizados formCursosRealizados = null;

        public frmCursosRealizados()
        {
            InitializeComponent();
            Cargar();
        }

        static public frmCursosRealizados GetInstance()
        {
            if (formCursosRealizados == null || formCursosRealizados.IsDisposed == true)
            {
                formCursosRealizados = new frmCursosRealizados();
            }
            formCursosRealizados.BringToFront();
            return formCursosRealizados;
        }

        #endregion

        

        public void Cargar()
        {
            tArea_Cursos mAreas = new tArea_Cursos();
            
            cboxAreaCurso.DataSource = mAreas.TraerTodos().Tables[0];
            cboxAreaCurso.DisplayMember = tArea_CursosColumnas.cNombre.ToString();
            cboxAreaCurso.ValueMember = tArea_CursosColumnas.IdAreaCurso.ToString();
            CargarCursos();
        }
        public void CargarCursos() 
        {
            List<tCursos> listaCurso = new List<tCursos>();
            tCursos mCurso = new tCursos();
            mCurso.IdAreaCurso = int.Parse(cboxAreaCurso.SelectedValue.ToString());
            listaCurso = mCurso.TraerTodosListOf();
            cboxCurso.DataSource = mCurso.TraerTodos().Tables[0];
            cboxCurso.DisplayMember = tCursosColumnas.cNombre.ToString();
            cboxCurso.ValueMember = tCursosColumnas.IdCurso.ToString();

        }
        private void btnNuevoCurso_Click(object sender, EventArgs e)
        {
            frmAltaCurso frm = new frmAltaCurso();

            if (frm.ShowDialog() == DialogResult.OK)
            {
                Cargar();
                cboxAreaCurso.Text = frm.cboxAreaCurso.Text;
                cboxCurso.Text = frm.txtNombreCurso.Text;
            }
        }

        private void txtFecha_Leave(object sender, EventArgs e)
        {
                Validaciones.ValidarFecha(txtFecha, ep);
        }

        private void cboxAreaCurso_ContextMenuStripChanged(object sender, EventArgs e)
        {
            List<tCursos> listaCurso = new List<tCursos>();
            tCursos mCurso = new tCursos();
            mCurso.IdAreaCurso = int.Parse(cboxAreaCurso.SelectedValue.ToString());
            listaCurso = mCurso.TraerTodosListOf();
            cboxCurso.DataSource = mCurso.TraerTodos().Tables[0];
            cboxCurso.DisplayMember = tCursosColumnas.cNombre.ToString();
            cboxCurso.ValueMember = tCursosColumnas.IdCurso.ToString();

        }

        private void cboxAreaCurso_SelectedIndexChanged(object sender, EventArgs e)
        {
               try
                {
                    tCursos mCurso = new tCursos();
                    cboxCurso.DataSource = mCurso.TraerFiltrado(tCursosColumnas.IdAreaCurso.ToString(), Int32.Parse(cboxAreaCurso.SelectedValue.ToString())).Tables[0];
                    cboxCurso.DisplayMember = tCursosColumnas.cNombre.ToString();
                    cboxCurso.ValueMember = tCursosColumnas.IdCurso.ToString();
                }
                catch { }
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {

            if (Validaciones.ValidarFecha(txtFecha, ep) & Validaciones.ValidarBlancos(cboxCurso, ep))
            {
                this.DialogResult = DialogResult.OK;
            }
            else
            {
                MessageBox.Show("Debe especificar el Curso realizado.", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                this.DialogResult = DialogResult.Cancel;
            }
        }

    }
}